Three-dimensional (“3D”) computer graphics are graphics that use to create a 3D representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images. Accordingly, such images may be stored for viewing later or displayed in real-time. 3D computer graphics rely on many of the same algorithms as 2D computer vector graphics in the wire-frame model and 2D computer raster graphics in the final rendered display. In computer graphics software, the distinction between 2D and 3D may be narrow since 2D applications may use 3D techniques to achieve effects such as lighting, and 3D may use 2D rendering techniques.
3D computer graphics may often be referred to as 3D models. Apart from the rendered graphic, the 3D model may be contained within a graphical data file. However, one difference between 2D rendered images and 3D computer graphics is that a 3D model is the mathematical representation of any three-dimensional object. In other words, a model is not technically a graphic until it is displayed. A model may be displayed visually as a two-dimensional image through a process called 3D rendering or used in non-graphical computer simulations and calculations.
Rendering is the process of generating an image from a 2D or 3D model, or models in what collectively could be called a scene file or frame file, by means of computer programs. Furthermore, the results of such a model can be called a rendering. Accordingly, a scene file may contain objects in a strictly defined language or data structure while containing geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene. The data contained in the scene file is then passed to a rendering program to be processed and output to a digital image or raster graphics image file.
The current use cases of mixing video with real-time rendered 3D objects rely mostly on using the original video as a flat texture in a 3D environment. This is mainly due to pre-rendered videos losing all geometry, depth and camera information during the rasterization process. Rasterization is the task of taking an image described in a vector graphics format (e.g., shapes) and converting it into a raster image (e.g., pixels or dots) for output on a video display or printer, or for storage in a file format, such as, for example, bitmap.